====== PICkit2 ======
Le PICKit 2 est un programmateur de PIC de chez [[http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023805|Microchip]]. Ce tutoriel traite de la façon d'utiliser et de programmer avec la carte de développement PICkit™ 2 Starter Kit.

===== Pk2cmd : le programme de communication =====
Pk2cmd est un programme pour communiquer avec le PICkit2.

==== Installation depuis un dépôt ====
Un dépôt est disponible ici : [[http://deb.urriellu.net/]]

Il faut ajouter le dépôt
<code>
deb http://deb.urriellu.net/ any main
</code>
et installer le paquet pk2cmd.

==== Installation à partir du code source ====
Les sources étant disponibles depuis le site de Microchip, nous allons les télécharger, les compiler, puis les installer.\\
Dans un [[:terminal]] saisissez:
<code>
wget http://ww1.microchip.com/downloads/en/DeviceDoc/pk2cmdv1.20LinuxMacSource.tar.gz
tar xvf pk2cmdv1.20LinuxMacSource.tar.gz
make linux
sudo make install
</code>
==== Utilisation ====
Branchez le PICkit2 sur le port USB pour tester s'il est bien détecté.
<code>pk2cmd -P
Auto-Detect: Found part PIC16F690.

Operation Succeeded
</code>
Quelques commandes utiles :
Activer le courant :
<code>pk2cmd -PPIC16F690 -T</code>
Couper le courant:
<code>pk2cmd -PPIC16F690 -A0</code>
Programmer le PIC avec le fichier program..hex:
<code>pk2cmd -PPIC16F690 -M -Fprogram.hex</code>

=====  Dwarf : une interface graphique pour pk2cmd =====
Pour ceux qui n'aiment pas les lignes de commande, le site du projet est ici :[[http://tuxtronics.com/node/1]]

Il suffit de décompresser l'archive dwarf.tgz dans le dossier de votre choix, et de lancer le script nommé dwarf.

=====  Gpasm : le compilateur pour PIC =====
Gpasm est un compilateur pour générer du code pour notre PIC. Il prend en entrée un fichier assembleur et produit du code machine.\\
[[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>gputils|gputils]]** 

=====  Premier Code =====
Écrivons notre premier programme.
[[:tutoriel:comment_modifier_un_fichier|Créez un fichier]] **//hello.asm//** contenant:
<code>
#include p16f690.inc
__config _INTRC_OSC_NOCLKOUT & _WDT_ON & _MCLRE_OFF & _CP_OFF
     org 0
Start:
     bsf     STATUS,RP0
     bcf     TRISC,0
     bcf     STATUS,RP0
     bsf     PORTC,0
     goto    $
     end
</code>
Compilez :
<code>gpasm hello.asm -p p16f690</code>
Programmez/flashez le PIC :
<code>pk2cmd -PPIC16F690 -M -Fhello.hex</code>
FIXME Il n'y a pas d'espace entre -F et hello.hex ?\\
Lancez le programme en activant l'alimentation:
<code>pk2cmd -PPIC16F690 -T</code>
Normalement si tout se passe correctement  la première LED doit s'allumer.

----
//Contributeurs: FIXME //

